/**
 * 2015年9月17日上午9:15:54
 * RoadLostJob.javaRoadLostJob
 */
package com.service.scheduler.job;

import java.util.ArrayList;
import java.util.List;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.StatefulJob;
import com.service.bean.device.Vehicle;
import com.service.bean.other.FrameResult;
import com.service.cache.CacheManager;
import com.service.db.impl.DbGarbage;
import com.service.socket.process.R_Class_FF;

/**
 * 2015年9月17日上午9:15:54
 *
 * 张
 */
@SuppressWarnings("deprecation")
public class GarbageDataSyncJob implements StatefulJob{

	@Override
	public void execute(JobExecutionContext arg0) throws JobExecutionException {
//		System.out.println("GarbageDataSyncJob 定时器 启动 " + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
		//4种情况都循环处理一遍
		List<String> lstTypeNo = new ArrayList<>();
		lstTypeNo.add("01");
		lstTypeNo.add("02");
		lstTypeNo.add("03");
		lstTypeNo.add("04");
		
		//获得所有的车
		for(Vehicle vehicle:CacheManager.instance().vehicleMap.values()){
			//循环所有的类型			
			for(String typeNo:lstTypeNo){
				//检查一下是否有5分钟之前的数据还没有被处理
				FrameResult frameResult = DbGarbage.getFrameCountIsOld(vehicle.company, vehicle.device.deviceNo, typeNo);
				if(frameResult.getSize()>0){
					//添加一个任务
					R_Class_FF.addjob_FF02(vehicle.device.deviceNo,typeNo);
					//执行一个任务（串行化）
//					System.out.println("");
//					System.out.println("定时器 下发同步指令start " + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
					R_Class_FF.dojob_FF02(vehicle.device.deviceNo,typeNo);									
				}				
			}			
		}
	}
}
